1. Field of the Invention
This invention relates to computer systems and, more particularly, to restoring selected portions of a datastore from a backup datastore.
2. Description of the Related Art
It has become common for organizations to employ large-scale, complex applications to manage a wide variety of information that may be critical to their operations. For example, Microsofti Exchange Server provides an organization with a messaging (e-mail) and collaboration environment. Another example, Microsofti SharePoint Portal Server, provides a unified view (on a website) of information from various applications. Additional examples of large-scale applications, available from various vendors, are well known to those having ordinary skill in the art.
In order for an application, such as those noted above, to provide its desired functionality, it will generally be configured to store a large quantity of data in a datastore. For example, a large-scale application may store data in one or more database repositories, file systems, or other storage media, either local or remote. In order to avoid the loss of data associated with an application, a data protection application is commonly employed to manage backup and restore operations on the datastore.
To backup the data from a datastore, a data protection application may copy the entire contents of the datastore and store the data on backup media. To restore the data to a datastore, a data protection application may execute an operation to restore all of the data to the datastore. However, in some cases it may be desirable to restore only a portion of the data associated with an application to the datastore. For example, in the event that a single mailbox, message, calendar event, or other data item is inadvertently deleted, restoration of only the deleted item may be desired. Unfortunately, given the nature of backup up datasets, selectively restoring particular items may be relatively difficult and inefficient.
Generally speaking, data is backed up to a media that does not support random access. For example, tape is often used as a backup medium. Consequently, in order to gain access to a particular item within the backup dataset, it is generally necessary to first restore the entire backup dataset to a temporary location and then search the restored data for the particular items of interest. However, when selecting a particular backup dataset for restoration, a user generally is not provided with any detailed information concerning the contents of that backup dataset. Rather, a catalog of backups is generally maintained which only provides basic information concerning the backup dataset (e.g., date, size, name, etc.). Therefore, a user must generally make a “best guess” as to which backup dataset contains the item of interest and restore that backup dataset. The user may then search the restored dataset for the item(s) of interest. However, as may be appreciated, the user may not always be correct in guessing which backup dataset includes the item of interest. Consequently, the user may restore and search an entire backup dataset only to find it does not contain the item(s) of interest. Therefore, time and effort may be wasted.
Accordingly, an efficient method and mechanism for restoring data is desired.